Skip to content

Python(chore): add uv for dev#581

Draft
alexluck-sift wants to merge 3 commits into
mainfrom
al/python/chore/uv-for-legacy-version-support
Draft

Python(chore): add uv for dev#581
alexluck-sift wants to merge 3 commits into
mainfrom
al/python/chore/uv-for-legacy-version-support

Conversation

@alexluck-sift
Copy link
Copy Markdown
Collaborator

@alexluck-sift alexluck-sift commented May 21, 2026

Summary

  • Migrate the Python dev workflow and CI from pip install + venv/ to uv: python/scripts/dev bootstraps via uv sync --extra dev-all, every subcommand runs through uv run, and pre-push hooks (extras.sh, fmt-lint.sh, stubs.sh) follow suit.
  • Add test-floor (3.8) and test-ceiling (3.14) dev subcommands using uv run --no-project --python <ver> --with-editable '.[dev-all]' to exercise the supported range. Pair with [tool.uv] environments = ["python_version >= '3.10'"] so the dev resolver can satisfy the docs extra (griffe-pydantic needs 3.10+) while requires-python = ">=3.8" still governs runtime.
  • Rewrite python_ci.yaml around uv: a static-checks job (lint/format/mypy/pyright/stubs/extras/stubtest) plus a matrix test-python job that runs pytest under the floor interpreter. Adds a mypy --platform=win32 pass to catch Windows-only stub breakage (e.g. fcntl).
  • Add a mypy override for alive_progress to neutralize its overly tight alive_it stubs, which surfaced once CI started resolving alive-progress 3.3.0 under Python ≥3.10.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

Python docs preview: https://sift-stack.github.io/sift/python/pr-581/

Deployed from a208280. The link may take up to a minute to become live as GitHub Pages propagates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant